package cn.dj.basic.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 工具类：封装增删改的返回结果
 */
@Data //自动生成setter、getter方法
@AllArgsConstructor//有参
@NoArgsConstructor//无参构造器
public class AjaxResult {
    /**
     * 响应给前端任意类型的数据 - fastDfs（传文件等）
     */
    private  Object obj;//若要给前端返回对象或者数组等数据的时候用
    /**
     * 响应给前端用户判断
     */
    private Boolean success = true;//用于前端判断操作成功与否
    /**
     * 响应给前端字符串信息
     */
    private  String msg="操作成功";//用于给前端返回一定的信息

    /**
     * 有参构造器
     * @param success
     * @param msg
     */
    public AjaxResult(Boolean success, String msg) {
        this.success = success;
        this.msg = msg;
    }

    //链式语法的改造
    /**
     * 调用一个方法，然后返回的就是它本身的对象
     * @return
     */
    public static AjaxResult me(){
        return  new AjaxResult();
    }

    public AjaxResult setObj(Object obj) {
        this.obj = obj;
        return this;
    }

    public AjaxResult setSuccess(Boolean success) {
        this.success = success;
        return this;
    }

    public AjaxResult setMsg(String msg) {
        this.msg = msg;
        return this;
    }
}
